Embodiments of the present invention are directed generally to cable network fault isolation and more specifically to the analysis of errors reported by divergent systems comprising a video-on-demand service in a hybrid fiber coax (HFC) cable network.
HFC cable networks are increasingly dependent on two-way data transport. Video on-demand (VOD) services rely on out-of-band (OOB) channel signaling or a DOCSIS-compliant data channel to obtain requests for video content from a subscriber's set top box. In a typical configuration, the VOD service makes available to its users a selection of multiple video programs that they can choose from and watch over a network connection with minimum setup delay. At a high level, a VOD system consists of one or more VOD content servers that pass and/or store the relevant content; one or more on demand (XOD) servers that receive XOD requests from subscribers and establish the session to provide the content; and customer premises equipment (CPE) to receive, decode and present the video on a display unit. The “X” in the acronym “XOD” is indicative that the XOD server may provide a variety of programming on demand, such as but not limited to sports, movies, and music videos. As will be appreciated by those skilled in the art, the XOD server is sometimes referred to as providing “anything-on-demand.” The VOD content servers provide video content in response to a request from the XOD server for video-on-demand.
The most common CPE for VOD is an addressable STB that provides the functions of receiving cable signals by tuning to the appropriate RF channel, processing the received signal and outputting VOD signals for viewing on a display unit. Such an STB also typically hosts a VOD application that enables user interaction for navigation and selection of a VOD menu.
FIG. 1 illustrates a video-on-demand provisioning system as known in the prior art. A headend 100 comprises a VOD content server 104 and an XOD server 105. The headend provides content to CPE 106 via HFC cable network 101.
The VOD content server 104 comprises a processor and a storage system and is adapted for identifying and finding a program, and for selecting the content server components to convey that content to the HFC cable network. The XOD server 105 is adapted for receiving XOD requests from subscribers, for communicating those requests to the content server, and for conveying the requested program content to the subscriber.
When a subscriber orders a movie, that request is processed from the STB through the transport network to the network controller system, then onto an XOD server. The XOD server provisions STBs to receive XOD services from the cable network operator. By way of illustration and not as a limitation, an XOD server downloads a VOD client process to an STB, sends available program listings to that STB, and determines what assets are available to the STB under what genres based on subscriber permissions. A business management system (BMS) keeps track of the negotiations, keeps records, and interfaces with the billing systems. The XOD server also instructs the VOD content server to transmit the program content through an asynchronous serial interface or gigabit Ethernet port to QAM modulators at a hub associated with a subscriber for delivery to that subscriber's STB.
The XOD server comprises logs reflecting transactions between an STB and the XOD server. An XOD transaction error will be logged when a problem occurs in the communication path between the STB and VOD content server, when the session between the VOD content server and STB is interrupted, when the STB attempts to find a program at a specified location but the program is not at the specified location, and when the transaction times out. XOD transaction errors are typically identified by an error code that identifies the type of error that was experienced.
The VOD content server processes the content request from the XOD server. The VOD content server determines whether it has the content requested and, if so, where it is located in storage. The VOD content server then determines what resources are available to deliver the content to the QAM modulator specified by the XOD server, selects the resources to be used to fulfill the request, and delivers the content. The VOD content server will also log errors that occur in the fulfillment process. By way of illustration and not as a limitation, the VOD content server may determine that the content cannot be found on the VOD content server, that the requested program is corrupted, that the VOD content server is out of resources, or that the VOD content server is not able to communicate with the designated QAM modulator.
Retrieving video content and delivering it to the correct subscriber requires detailed information regarding the association of a subscriber's STB with a particular QAM and the ability to instruct that STB to tune to a specific QAM channel. The VOD content server must be directed to convey a selected video stream to the QAM associated with the subscriber.
The XOD server and the VOD content server identify and report transaction errors independently. For example, an XOD server may report that a VOD transaction failed because of a “VOD server error.” Because the XOD server does not “know” why the VOD content server failed to fulfill the VOD transaction, the error characterization by the XOD server may or may not be accurate. For example, the VOD server may have been unable to deliver the transaction because the QAM modulator information provided by the XOD server was incorrect. On the other hand, the VOD content server typically reports delivery of some content to a point in the HFC cable network as fulfillment of the subscriber's XOD request without regard to whether the content was actually received by the subscriber.
What is needed is a VOD transaction error correlator that correlates errors reported by the XOD server with the fulfillment experience as determined by the VOD content server to provide a VOD technician a “near” real-time accounting of the VOD errors occurring in the VOD provisioning system.